package org.wdcode.back.tools;

import java.util.List;
import java.util.Map;

import org.wdcode.back.helper.PropertyHelper;
import org.wdcode.back.po.Property;
import org.wdcode.common.tools.Maps;

/**
 * 获得系统参数的工具类
 * @author WD
 * @since JDK6
 * @version 1.0 2009-11-05
 */
public final class WdProperties {
	// 保存参数的Map
	private static Map<String, String>	mapProperty;

	// 静态初始化
	static {
		init();
	}

	/**
	 * 初始化
	 */
	public static void init() {
		// 获得属性列表
		List<Property> list = PropertyHelper.getHelper().getList();
		// 获得列表大小
		int size = list.size();
		// 获得map保存属性
		mapProperty = Maps.getConcurrenrMap(size);
		// 声明属性实体 保存临时变量
		Property info = null;
		// 循环列表
		for (int i = 0; i < size; i++) {
			// 获得属性
			info = list.get(i);
			// 添加属性值
			set(info.getKey(), info.getValue());
		}
	}

	/**
	 * 根据key返回值
	 * @param key Key
	 * @return Value
	 */
	public static String get(String key) {
		return mapProperty.get(key);
	}

	/**
	 * 设置Key与Value
	 * @param key Key
	 * @param value Value
	 */
	public static void set(String key, String value) {
		mapProperty.put(key, value);
	}

	/**
	 * 删除属性
	 * @param key Key
	 */
	public static void remove(String key) {
		mapProperty.remove(key);
	}
}
